const App = getApp();

Page({
  /**
   * 页面的初始数据
   */
  data: {
    showModal: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 授权登录
   */
  // 获取用户信息
  getUserInfo(e) {
    console.log(e)
    let _this = this;
    App.getUserInfo(e, (res) => {
      wx.setStorageSync('userInfo', e.detail.userInfo);
      if(res.token=='') {
        _this.setData({
          showModal: true,
          session_Key: res.session_Key
        })
      }else{
        _this.setData({
          userInfo: e.detail.userInfo,
          isLogin: true,
        })
        _this.onNavigateBack();
      }
    });
  },
  // 点击按钮获取手机号权限并解析
  getPhoneNumber: function (e) {
    const _this = this;
    if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
      wx.showModal({
        title: '友情提示',
        showCancel: true,
        content: '拒绝将无法获取微信手机号，需要您手动填写手机号注册手机号。',
        success: function (res) {
          if(res.confirm){
            _this.pageForward();
          }
        }
      })
    } else {
      const {encryptedData, iv} = e.detail;
      const options = {
        encryptedData: encryptedData,
        iv: iv,
        sessionKey: wx.getStorageSync('session_Key')
      };
      _this.doGetPhone(options);
    }
  },
  doGetPhone (options) {
    const _this = this;
    // 向服务器请求解密
    App._post_form('User/GetPhone', options, (res) => {
      // 最终获取到用户数据，国家代号前缀、不带前缀的手机号。默认是不带前缀
      const {countryCode, phoneNumber} = res;
      _this.pageForward(countryCode, phoneNumber);
      App.showSuccess(res.msg, () => {
        _this.setData(res)
      })
    }, (err) => {
      _this.pageForward();
    })
  },
  pageForward (countryCode, phoneNumber) {
    // 获取成功后我是跳转到另一个页面
    wx.navigateTo({
      url: `/pages/info/index?phone=${phoneNumber}`
    })
  },
  /**
   * 暂不登录
   */
  onNotLogin() {
    let _this = this;
    // 跳转回原页面
    _this.onNavigateBack();
  },
  //关闭弹框
  closeModal(){
    this.setData({
      showModal:false
    })
  },
  /**
   * 授权成功 跳转回原页面
   */
  onNavigateBack() {
    wx.navigateBack();
  },

})